Getting Started

Covers Engine 2.0.0 · Desktop Interface 2.0.0 · Webserver Interface 2.0.0

DARTWIC Ecosystem

Understand where data, automation, and extensions live.

The engine runs the system; the interface and clients connect to it. Closing an interface does not by itself stop engine tasks. A project holds the resources and configuration used by that engine, including scripts, schematics, module instances, and saved remote connections.

Inside the engine

ComponentResponsibilityGuide
RAPIDCurrent channel values, metadata, authority, and recorded samples.Channels
CAESARTask and loop execution, including start, stop, hold, and timing diagnostics.Tasks
ARGUSEvents, firing state, acknowledgements, prompts, and holds.Events and ARGUS
TEMPESTClient operation requests and telemetry delivery.Using TEMPEST
DARTWIC ShareChannel and ARGUS communication between nodes.DARTWIC Share

A device module receives a measurement and writes it to RAPID. Inline calculations and dependent event conditions react during that write. Separate workers deliver telemetry and record samples. The interface receives those updates and redraws its views; its displayed refresh rate is not the engine’s control-loop rate.

Where should your code go?

You need to…Start with…
Calculate or automate using existing channelsDCode.
Own a device connection, driver, or long-lived C++ serviceAn engine plugin with a module.
Give operators a custom page, task editor, or schematic nodeAn interface plugin.
Query data from another processThe Python client.
Build a separate web dashboardThe React client.
Integrate an external C++ node using the normal engine transportThe C++ Share client.
Carry Share over radio, serial, or another custom linkThe Share Protocol SDK.

A plugin is a package, a module is an instance created by an engine plugin, and a task is a controllable unit of execution. A single driver plugin can supply several module instances and task types, plus interface panels for configuring them.